<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Array.of方法</title>
</head>
<body>
  <script>
    // Array.of方法用于将一组值，转换为数组。
    Array.of(3,11,8)// [3,11,8]
    // 这个方法的主要目的是弥补数组构造函数Array的不足，因为参数的个数不同，会导致Array()的行为差异
    Array() // []
    Array(3)// [,,,]
    Array(3,11,8)//[3,11,8]
    /**
     * 上面代码中，Array()方法没有参数，一个参数。三个参数时，。返回的结果都不一样。
     * 只有当参数个数不少于2时，Array才会返回由参数组成的新数组。
     * 参数只有一个时，实际上是指定数组的长度。
     * Array.of()基本上可以用来代替Array()或者new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一
    */
   // Array.of()方法可以用下面的代码模拟实现
   function ArrayOf() {
     return [].slice.call(arguments)
   }
  </script>
</body>
</html>